

import axios from "axios";
import { Message } from 'element-ui';
import router from '../router/index.js';
import { Storage } from '@/utils/storage.js';
const userLogin = '/systemusers/select-userLogin';
// 使用create方法创建axios实例
const request = axios.create({
  timeout: 7000, // 请求超时时间
//   baseURL: process.env.VUE_APP_URL,
  withCredentials: true
})
// 添加请求拦截器
request.interceptors.request.use(config => {
	if (config.url !== userLogin) {
    config.headers['Usertoken'] = Storage.getItem('Usertoken')
  }
  config.headers['Content-Type'] = config.setHeader ? config.setHeader : 'application/json;charset=UTF-8';
  let METHOD = config.method.toUpperCase();
  if (METHOD == 'GET') { // 判断get参数拼接方式
    if (config && config.url && config.url.indexOf('?') < 0) {
      if (config.data && JSON.stringify(config.data) !== '{}') {
        let dataStr = '?';
        Object.keys(config.data).forEach(key => {
          dataStr += key + '=' + config.data[key];
        });
        config.url += dataStr
      }
    }
  }
  return config
})
// 添加响应拦截器
request.interceptors.response.use(res => {
//   if (res.status === 200 && res.data.status.code === 200) {
//     res.config.url == userLogin ? Storage.setItem('Usertoken', res.headers['usertoken']) : ''
//     return res.data
//   } else {
//     Message({
//       message: res.data.status.message || '网络繁忙，稍后再试！',
//       type: 'warning'
//     })
//     if (res.data.return_code == 403) {
//     //   router.push(`/login?redirect=${window.location.hash}`)
//       return false;
//     }
//     return Promise.reject(res.data.return_code || 1)
//   }
return res;
}, error => {
  Message({
    message: '网络繁忙，稍后再试！',
    type: 'warning'
  })
  return Promise.reject(error)
})

export default request
